package com.dd.cloud.user.res.consult;

import com.dd.cloud.common.annotate.FileSuffix;
import com.dd.cloud.user.entity.patient.PatientUserComplaint;
import com.dd.cloud.user.res.order.OrderFlowListRes;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 患者预约咨询问诊的详情
 * </p>
 *
 * @author czg
 * @since 2023-07-14
 */
@Data
public class ConsultSubscribeDetailRes implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 问诊id
     */
    private Integer id;

    /**
     * 问诊人就诊卡
     */
    private String medId;

    /**
     * 手机号
     */
    private String mobileNumber;

    /**
     * 姓名
     */
    private String name;

    /**
     * 年龄
     */
    private LocalDate patientBirthDate;

    /**
     * 性别，男、女
     */
    private String sex;

    /**
     * 用户id
     */
    private String patientId;

    /**
     * 患者民族
     */
    private String patientNationality;

    /**
     * 患者是否怀孕
     */
    private Integer patientPregnant;

    /**
     * 患者婚姻状态 未婚、已婚
     */
    private String patientMaritalStatus;

    /**
     * 问诊目的
     */
    private String aim;

    /**
     * 备注
     */
    private String remark;

    /**
     * 预约的日期
     */
    private LocalDate day;

    /**
     * 问诊类型 1在线问诊 2在线咨询
     */
    private Integer type;

    /**
     * 问诊金额
     */
    private Integer consultPrice;

    /**
     * 复诊类型 1复诊 2不是复诊
     */
    private Integer visitType;

    /**
     * 问题描述
     */
    private String content;

    /**
     * 问诊状态
     */
    private Integer status;

    /**
     * 医生id
     */
    private Integer doctorId;

    /**
     * 医生头像地址
     */
    @FileSuffix
    private String avatar;

    /**
     * 名字
     */
    private String doctorName;

    /**
     * 职称
     */
    private String proCertificate;

    /**
     * 就诊科室
     */
    private String dep = "中医科";

    /**
     * 就诊类型
     */
    private String visType = "其他";

    /**
     * 医生工号
     */
    private String workCard;

    /**
     * 机构
     */
    private String mechanName;

    /**
     * 首诊的机构名称
     */
    private String firstMechanName;

    /**
     * 擅长疾病
     */
    private String goodAt;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 应付金额
     */
    private Integer orderFee;

    /**
     * 应付金额
     */
    private LocalDateTime createDate;


    private PatientUserComplaint patientUserComplaint;

    /**
     * 开始时间
     */
    private LocalDateTime startDate;

    /**
     * 结束时间
     */
    private LocalDateTime endDate;

    /**
     * 处方编号
     */
    private String tencode;

    /**
     * 图片
     */
    @FileSuffix
    private String imgUrl;

    /**
     * 取消时间
     */
    private LocalDateTime cancelDate;

    /**
     * 流水列表
     */
    List<OrderFlowListRes> flowList;

    /**
     * 病例id
     */
    private Integer medicalId;

    /**
     * 病例状态
     */
    private Integer medicalStatus;

    /**
     * 延迟时长(分钟)
     */
    private Integer delayMinutes;
}

